#######EXERCICIO 5#######
getwd()
setwd("C:/Users/LouiseAlissa/Desktop/R_curso/Tut_5")

esaligna <- read.csv2(file="esaligna.csv", header=TRUE, sep=",", dec=".")


### EXERCICIO 5.1 Editando alguns parmetros grficos
#Crie um grfico de disperso entre dap e ht
x11()
plot(esaligna$dap~esaligna$ht)

# Vou fazer tudo separadinho pra depois eu ter documentado o que faz cada argumento

#1. Legendas dos eixos com nomes das variveis e suas unidades
plot(esaligna$dap~esaligna$ht, xlab="Altura (m)" , ylab=" DAP (cm)")
#2. Marcaes do eixos (ticks) para dentro da rea do grfico
plot(esaligna$dap~esaligna$ht, xlab="Altura (m)" , ylab=" DAP (cm)", tcl=0.5)
#3. Apenas dois eixos (formato L)
x11()
plot(esaligna$dap~esaligna$ht, xlab="Altura (m)" , ylab=" DAP (cm)", tcl=0.5, bty="l")
#4. Ttulo informativo
plot(esaligna$dap~esaligna$ht, xlab="Altura (m)" , ylab=" DAP (cm)", tcl=0.5, bty="l", main= expression(paste("Relao entre DAP e altura para rvores de", italic(" E. esaligna"))))
#5. Tamanho das fontes maiores que o padro
plot(esaligna$dap~esaligna$ht, xlab="Altura (m)" , ylab=" DAP (cm)", tcl=0.5, bty="l", main= expression(paste("Relao entre DAP e altura para rvores de", italic(" E. esaligna"))), cex.lab=1.2, cex.main=1.5)

graphics.off()


### EXERCICIO 5.2 DOIS GRFICOS JUNTOS

#1.Use as variveis dap e talhao para construir dois grficos, colocando-os lado a lado. O primeiro deve ser um grfico de desenho de caixa (boxplot) da varivel dap em funo do fator talho. O segundo deve ter apenas a mdia e uma barra de desvio-padro do dap, para cada talho.
# Primeiro calcular media e desvio dos daps por talho
media.talhao <- aggregate(esaligna$dap, by=list(esaligna$talhao), FUN=mean) 
desvio.talhao <- aggregate(esaligna$dap, by=list(esaligna$talhao), FUN=sd)
rm(desvio.talho)
# Por algum motivo a coluna gerada no sai com nome, ento vou mudar:
colnames(media.talhao) <- c("talhao","media")
colnames(desvio.talhao) <- c("talhao","desvio")
# Juntando os dois data frame em um
matriz.talhao <- merge(media.talhao, desvio.talhao, by="talhao")
# Transformando esse data frame em matriz 
matriz.talhao <- as.matrix(matriz.talhao)

#Agora arrumo a posio de entrada dos grficos
x11()
par(mfrow=c(1,2), bty="l")

# Boxplot dap~talho
boxplot(esaligna$dap~esaligna$talhao, xlab="Talho", ylab="DAP (cm)",ylim=c(5,25))

mtext("A", side=3, line=0.8, adj=1, cex=2.5) #parte 2 da questo

# Mdia e dp dos daps por talho
# Primeiro inserir as mdias, depois "desenhas os desvios"
plot(matriz.talhao[,2], xlab="Talho", ylab="DAP (cm)", ylim=c(5,25), pch=19, xaxt="n")
axis(1,labels=c(matriz.talhao[,1]), at=c(1:6)) # pro eixo sair com num certo
segments(x0=c(1:6), matriz.talhao[,2], x1=c(1:6), matriz.talhao[,2]-matriz.talhao[,3]) 
segments(x0=c(1:6), matriz.talhao[,2], x1=c(1:6), matriz.talhao[,2]+matriz.talhao[,3])

mtext("B", side=3, line=0.8, adj=1, cex=2.5) #parte 2 da questo

par(mfrow=c(1,1), bty="u")  
graphics.off() #fecha as janelas grficas


### 5.3 ADIVINHANDO O CDIGO
dados <- read.table(file="exercicio3.csv", header=T, sep=",", dec=".")

View(dados) #tentando entender as colunas

# Organizando aspectos gerais com a funo par()
# Para eu lembrar: mgp organiza a distncia da legenda em relaao com o eixo e em mar voc atribui o valor de tamanho das margens
par(mfrow=c(1,2), mar=c(5,4,1,2), mgp=c(2.5,1,0), tcl=0.5, bty="l", family="serif")

## Fazendo o primeiro grfico
plot(dados$y1~dados$x1, 
     xlab="Log(Patch size)(ha)", ylab="Euclidean distances", 
     xlim=c(0.5,2.3), ylim=c(0,3), 
     pch=17, cex=1.5,
     cex.index=1.5, cex.lab=2)

text(x=2.3, y=3, "a", cex=2)

# Pra fazer a linha, no consegui fazer um abline certinho, ento eu e alguns colegas conseguimos traar o segmento
segments(x0=0.5, y0=2.25, x1=2.3, y1=1, lwd=3)

## Fazendo o segundo grfico
# Olhando para os parmetros do grfico, as margens tem tamanhos diferentes
par(mar=c(5,0.2,1,2)) 

boxplot(dados$x2~dados$y2, ylim=c(0,3), xaxt="n", outline=F) # sem o eixo x, pois vou precisar escrever ele do jeitinho que eu quero

axis(1,at=c(1:6),labels=c("Small", "Medium\nEdge", "Medium \nInterior", "Large\nEdge","Large\nInterior", "Control")) # lembrar \n  quebra

text(x=c(1:6), y=3, c("*", "*", "**", "*", "***", " ", " "), cex=2) 

text(x=6.5, y=3, "b", cex=2) 
